/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package paquetePrueba;

/**
 *
 * @author Tavo
 */
import java.sql.*;
import java.util.*;
public class ContolBd
{
    String url="jdbc:postgresql:prueba";
    String login="postgres";
    String password="admin";

    Connection conn;
    ResultSet resul;
    
    List arrayidPreguntas;
    
    List<ProcesoPregunta> bean=new ArrayList<ProcesoPregunta>();

    public List<ProcesoPregunta> getBean() {
        return bean;
    }
    
    public ContolBd() 
 {
        try
        {
     
    arrayidPreguntas=new ArrayList();
    
    resul=Consulta("select idpregunta from pregunta");
    
    while(resul.next())
    {
        arrayidPreguntas.add(resul.getString("idpregunta"));
    }
    
    Iterator a=arrayidPreguntas.iterator();
    while(a.hasNext())
    {
        Llenado(a.next().toString());
    }
   
     }
        catch(SQLException e)
        {
            System.out.print(e);
        }
       
}
    

    
    public void Llenado(String id) throws SQLException
    {
        ProcesoPregunta pregunta=new ProcesoPregunta();
        
        ResultSet resul1=Consulta("select a.pregunta,b.tipo from pregunta a, tipopregunta b where a.idtipopregunta = b.idtipopregunta and a.idpregunta = "+id);
        
        pregunta.setIdPregunta(id);
        while(resul1.next())
        {
        pregunta.setPregunta(resul1.getString("pregunta"));
        pregunta.setTipoPregunta(resul1.getString("tipo"));
        }
        
        ResultSet resul2=Consulta("select idrespuesta,respuesta from respuestas where idpregunta = "+id);
        HashMap respuestas=new HashMap();
        while(resul2.next())
        {
            respuestas.put(resul2.getString("idrespuesta"),resul2.getString("respuesta"));
        }
        
        pregunta.setRespuestas(respuestas);

        
        ResultSet resul3=Consulta("select idopcionesrespuesta,opcionesrespuesta from opcionesrespuestas where idpregunta = "+id);
        HashMap Opcionesrespuestas=new HashMap();
        while(resul3.next())
        {
            Opcionesrespuestas.put(resul3.getString("idopcionesrespuesta"),resul3.getString("opcionesrespuesta"));
        }
        
        pregunta.setOpcionesRespuestas(Opcionesrespuestas);
        
        bean.add(pregunta);        
        
    }
    public ResultSet Consulta(String sql)
    {
        ResultSet rset=null;
        try
        {
            Class.forName("org.postgresql.Driver");
            conn= DriverManager.getConnection(url,login,password);
            Statement stmt = conn.createStatement();
           return rset =stmt.executeQuery(sql);
        }
         catch(Exception e)
        {
            System.out.print(e);

            return rset;
        }
    }


    public void ip()
    {
        Iterator a=bean.iterator();
        int t=0;
        while(a.hasNext())
       {
        System.out.println(""+((ProcesoPregunta)bean.get(t)).getIdPregunta());
        System.out.println(""+((ProcesoPregunta)bean.get(t)).getPregunta());
        System.out.println(""+((ProcesoPregunta)bean.get(t)).getTipoPregunta());
        System.out.println(""+((ProcesoPregunta)bean.get(t)).getOpcionesRespuestas());
        System.out.println(""+((ProcesoPregunta)bean.get(t)).getRespuestas());
        System.out.println("---------------------------------");
        t++;
        a.next();
        }
}

/*public static void main(String args[])
    {
    ContolBd o=new ContolBd();
    o.ip();
    
}*/




  

     
     

   
    }
